#pragma once 
//#include <Windows.h>

//#ifdef _DEBUG
//#ifndef ASSERT()
//#define ASSERT() assert()
//#include <lua.h>
#define GET_LUA_INT(L,name,var)  { lua_getglobal((L), (name)); if(lua_isnumber((L), -1)) { (var) = lua_tointeger((L), -1);} else { assert(name && "not exist" && 0); } }
#define GET_LUA_FLOAT(L,name,var) { lua_getglobal((L), (name)); if(lua_isnumber((L), -1)) { (var) = (float)(lua_tonumber((L), -1));} else { assert(name && "not exist" && 0); } }
#define GET_LUA_STRING(L,name,var) { lua_getglobal((L), (name)); if(lua_isstring((L), -1)) { (var) = (lua_tostring((L), -1));} else { assert(name && "not exist" && 0); } }

#define GAME_LOG(message) { Ogre::LogManager::getSingletonPtr()->logMessage( (std::string("[GAME]:") + (message)) ); }
#define LUALOG(L) { Ogre::LogManager::getSingletonPtr()->logMessage(lua_tostring((L), -1)); lua_pop((L), 1); }
#define LUA_ERROR(L) { Ogre::LogManager::getSingletonPtr()->logMessage(lua_tostring((L), -1)); lua_error(L); }